home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / parallax / more_exa.tar / more / X / xauto.p next >
Text File  |  1992-11-12  |  771b  |  34 lines

  1. SYSTEM cellular_automaton;
  2. CONST n = 512;          (* number of elements *)
  3.       m = (n+1) DIV 2;  (* number of loops    *)
  4.  
  5. CONFIGURATION list [1..n];
  6. CONNECTION left:  list[i] -> list[i-1] .right;
  7.            right: list[i] -> list[i+1] .left;
  8.  
  9. SCALAR i,win  : INTEGER;
  10.        ch     : CHAR;
  11. VECTOR val,l,r: BOOLEAN;
  12.  
  13. BEGIN
  14.   PARALLEL (* Init *)
  15.     val := DIM1 = (n+1) DIV 2;  (* middle *)
  16.   ENDPARALLEL;
  17.   win  := OpenAbswindow(n, m); 
  18.   SetColor(COLOR(0,0,0));  (* black *)
  19.  
  20.   FOR i:= 1 TO m DO
  21.     PARALLEL
  22.       IF val THEN SetPixel(DIM1, i) END;
  23.       PROPAGATE.left (val,l);
  24.       PROPAGATE.right(val,r);
  25.       val := l<>r;
  26.     ENDPARALLEL;
  27.   END;
  28.  
  29.   WriteString("Press RETURN for termination"); WriteLn;
  30.   Read(ch);
  31.   CloseWindow(win);
  32. END cellular_automaton.
  33.  
  34.